#ifndef _CONDITION_HPP_
#define _CONDITION_HPP_

#include "lock.hpp"
#include "noncopyable.hpp"
#include "base.hpp"

namespace thread
{
	class Condition : public NonCopyable
	{
		public :
			Condition();
			~Condition();

			void wait(Lock & lock);
			bool wait(Lock & lock, long ms);
			void signal();
			void brocast();

		private :
			pthread_cond_t _cond;
	};
}

#endif

